from http import HTTPStatus

import openai
import traceback
import time
from openai import AzureOpenAI
from dotenv import load_dotenv
import os

load_dotenv()
#export DASHSCOPE_API_KEY=sk-730464d8bccd4b8aba57cda32f86e22d

#SYSTEM_PROMPT="这是医学消化科相关内容，描述了磁控胶囊内镜镜检所见的结果，把这部分内容中的有可能存在错误，请以“原始内容”：“修正后内容”的格式输出，以下是镜检所见内容：\n"
SYSTEM_PROMPT="你是一个消化科的专家，你需要指出磁控胶囊内镜镜检所见内容中存在字词错误、语法错误、语义错误、逻辑错误。如果存在错误，请给出修正理由，并且以\"原始内容：\"，\"修正后内容：\"的格式输出；如果不存在错误，请回答\"不存在明显的错误\"。以下是镜检所见的内容："
print(os.getenv("AZURE_OPENAI_KEY"))
print(os.getenv('AZURE_OPENAI_VERSION'))
print(os.getenv("AZURE_OPENAI_ENDPOINT"))
# 打印所有环境变量
print("All environment variables:", os.environ)

client = AzureOpenAI(
  api_key = os.getenv("AZURE_OPENAI_KEY"),
  api_version = os.getenv('AZURE_OPENAI_VERSION'),
  azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)


def get_gpt3_result(system:str, prompt: str):
    st = time.time()
    #openai.api_type = "azure"
    #openai.api_base = "https://ankongptservice.openai.azure.com/"
    #openai.api_version = "2023-07-01-preview"
    #openai.api_key = "88de61ca41424324b79b76f2031fd8d6"
    ai_response=""
    try:
        response = client.chat.completions.create(
            model="ankon-wh-gpt-service",
            messages = [
                {"role": "system", "content": system},
                {"role": "user", "content": prompt}
            ],
            temperature=0.5,
            max_tokens=800,
            top_p=0.95,
            frequency_penalty=0,
            presence_penalty=0,
            stop=None)
        ai_response = response.choices[0].message.content
    except:
        traceback.print_exc()
    print(ai_response)
    print("gpt3 elapsed: %s" % (time.time() - st))
    return ai_response





if __name__=="__main__":

    value="胶囊共运行11h，约22min48s通过幽门，04h22min通过回盲瓣，10h58min通过肛门。\n食    管：粘膜光滑，舒缩好\n贲    门：开闭好\n胃    底：粘液湖清亮，粘膜多发出血点及糜烂，无静脉曲张\n胃    体：粘膜光滑，无明显充血水肿，未见溃疡肿物\n胃    角：弧形，光滑，轻度花斑样充血\n胃    窦：蠕动好，粘膜花斑样充血，未见明显糜烂，溃疡及肿物\n幽    门：圆，开闭好\n球    部：球腔形态正常，粘膜可见一凹陷，上覆白苔，周围粘膜轻度充血\n降部上段：粘膜未见异常\n小    肠：可见粪水留存；胶囊吞服后0小时25分可见一处白色颗粒样凸起，边界清，周围粘膜未见明显充血水肿；胶囊吞服后0小时52分至3小时11分可见多处片状红斑；胶囊吞服后01小时59分可见小肠粘膜新鲜血迹溢出，局部未见明显溃疡及肿物；余所见粘膜未见明显糜烂、溃疡及肿物\n结    肠：胶囊吞服后4小时22分经回盲瓣进入结肠；胶囊吞服后10小时20分至10小时49分别可见3处息肉样隆起，大的直径5.6mm，边界清，表面光滑。随即可见胶囊排出体外。"


    print("#######gpt3########")
    result = get_gpt3_result(SYSTEM_PROMPT, value)
    print(result)


